package main

import (
	"bufio"
	"fmt"
	"net"
	"os"
	"strings"
)

func sendData(conn net.Conn) {
	defer func(conn net.Conn) {
		err := conn.Close()
		if err != nil {
			fmt.Println("Error closing connection")
		}
	}(conn)

	fmt.Println("客户端连接成功 ， 准备发送数据 ... 请在控制台输入数据, 退出程序输入(exit): ")
	reader := bufio.NewReader(os.Stdin)
	readString, err := reader.ReadString('\n')
	if err != nil {
		fmt.Println("Error reader ")
		panic(err)
	}

	if strings.Compare("exit", strings.TrimSpace(readString)) == 0 {
		fmt.Println("退出客户端程序！")
		os.Exit(0)
	}

	write, err := conn.Write([]byte(readString))
	if err != nil {
		return
	}
	fmt.Printf("一共发送 %d 字节\n", write)

}

func main() {
	for {
		conn, err := net.Dial("tcp", "127.0.0.1:9999")
		if err != nil {
			fmt.Println("客户端连接失败...")
			panic(err)
		}
		// 发送数据
		sendData(conn)
	}

}
